package com.oj.problem.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.oj.common.annotation.Excel;
import com.oj.common.core.domain.BaseEntity;

/**
 * 测试用例对象 test_case
 * 
 * @author xxx
 * @date 2025-03-15
 */
public class TestCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long id;

    /** 关联题目ID */
    @Excel(name = "关联题目ID")
    private Long problemId;

    /** 输入数据 */
    @Excel(name = "输入数据")
    private String input;

    /** 期望输出 */
    @Excel(name = "期望输出")
    private String output;

    /** 是否公开（0否 1是） */
    @Excel(name = "是否公开", readConverterExp = "0=否,1=是")
    private Integer isPublic;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProblemId(Long problemId) 
    {
        this.problemId = problemId;
    }

    public Long getProblemId() 
    {
        return problemId;
    }
    public void setInput(String input) 
    {
        this.input = input;
    }

    public String getInput() 
    {
        return input;
    }
    public void setOutput(String output) 
    {
        this.output = output;
    }

    public String getOutput() 
    {
        return output;
    }
    public void setIsPublic(Integer isPublic) 
    {
        this.isPublic = isPublic;
    }

    public Integer getIsPublic() 
    {
        return isPublic;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("problemId", getProblemId())
            .append("input", getInput())
            .append("output", getOutput())
            .append("isPublic", getIsPublic())
            .toString();
    }
}
